#ifndef LED_H_
#define LED_H_

#include "stm32f10x.h"

#define LED_1 0
#define LED_2 1
#define LED_3 2
#define LED_4 3

/* LED模式定义 */
typedef enum
{
    LEDMODE_ON,          // 常亮模式
    LEDMODE_OFF,         // 熄灭模式
    LEDMODE_BREATH,      // 呼吸模式
    LEDMODE_BLINK,       // 闪烁模式
    LEDMODE_DOUBLE_BLINK // 双闪模式
} _em_LEDMode;

/* LED控制结构体 */
typedef struct
{
    _em_LEDMode mode;        // 当前工作模式
    uint16_t compare;        // PWM比较值（实际亮度）
    int16_t breathDirection; // 呼吸模式方向：1=渐亮，-1=渐暗
    uint16_t blinkCounter;   // 闪烁模式时间计数器
} _st_LEDInfo;

void led_init(void);
void led_ticks(void);
void led_setMode(uint8_t id, _em_LEDMode mode);

#endif /*LED_H_*/
